Problem: concat(leaf(),Y) -> Y concat(cons(U,V),Y) -> cons(U,concat(V,Y)) lessleaves(X,leaf()) -> false() lessleaves(leaf(),cons(W,Z)) -> true() lessleaves(cons(U,V),cons(W,Z)) -> lessleaves(concat(U,V),concat(W,Z)) Proof: Complexity Transformation Processor: strict: concat(leaf(),Y) -> Y concat(cons(U,V),Y) -> cons(U,concat(V,Y)) lessleaves(X,leaf()) -> false() lessleaves(leaf(),cons(W,Z)) -> true() lessleaves(cons(U,V),cons(W,Z)) -> lessleaves(concat(U,V),concat(W,Z)) weak: Matrix Interpretation Processor: dimension: 1 max_matrix: 1 interpretation: [true] = 0, [false] = 0, [lessleaves](x0, x1) = x0 + x1 + 28, [cons](x0, x1) = x0 + x1 + 7, [concat](x0, x1) = x0 + x1 + 49, [leaf] = 15 orientation: concat(leaf(),Y) = Y + 64 >= Y = Y concat(cons(U,V),Y) = U + V + Y + 56 >= U + V + Y + 56 = cons(U,concat(V,Y)) lessleaves(X,leaf()) = X + 43 >= 0 = false() lessleaves(leaf(),cons(W,Z)) = W + Z + 50 >= 0 = true() lessleaves(cons(U,V),cons(W,Z)) = U + V + W + Z + 42 >= U + V + W + Z + 126 = lessleaves(concat(U,V),concat(W,Z)) problem: strict: concat(cons(U,V),Y) -> cons(U,concat(V,Y)) lessleaves(cons(U,V),cons(W,Z)) -> lessleaves(concat(U,V),concat(W,Z)) weak: concat(leaf(),Y) -> Y lessleaves(X,leaf()) -> false() lessleaves(leaf(),cons(W,Z)) -> true() Matrix Interpretation Processor: dimension: 1 max_matrix: 1 interpretation: [true] = 0, [false] = 0, [lessleaves](x0, x1) = x0 + x1, [cons](x0, x1) = x0 + x1 + 1, [concat](x0, x1) = x0 + x1, [leaf] = 0 orientation: concat(cons(U,V),Y) = U + V + Y + 1 >= U + V + Y + 1 = cons(U,concat(V,Y)) lessleaves(cons(U,V),cons(W,Z)) = U + V + W + Z + 2 >= U + V + W + Z = lessleaves(concat(U,V),concat(W,Z)) concat(leaf(),Y) = Y >= Y = Y lessleaves(X,leaf()) = X >= 0 = false() lessleaves(leaf(),cons(W,Z)) = W + Z + 1 >= 0 = true() problem: strict: concat(cons(U,V),Y) -> cons(U,concat(V,Y)) weak: lessleaves(cons(U,V),cons(W,Z)) -> lessleaves(concat(U,V),concat(W,Z)) concat(leaf(),Y) -> Y lessleaves(X,leaf()) -> false() lessleaves(leaf(),cons(W,Z)) -> true() Bounds Processor: bound: 1 enrichment: match automaton: final states: {6,5} transitions: cons1(3,11) -> 11* cons1(4,8) -> 8,5 cons1(4,10) -> 8,5 cons1(1,8) -> 8,5 cons1(1,10) -> 8,5 cons1(2,11) -> 11* cons1(3,8) -> 8,5 cons1(3,10) -> 8,5 cons1(4,11) -> 11* cons1(1,11) -> 11* cons1(2,8) -> 8,5 cons1(2,10) -> 8,5 concat1(3,1) -> 8* concat1(3,3) -> 8* concat1(3,11) -> 11* concat1(4,2) -> 8* concat1(4,4) -> 8* concat1(4,8) -> 11* concat1(4,10) -> 11* concat1(1,2) -> 8* concat1(1,4) -> 8* concat1(1,8) -> 11* concat1(1,10) -> 11* concat1(2,1) -> 8* concat1(2,3) -> 10* concat1(2,11) -> 11* concat1(3,2) -> 8* concat1(3,4) -> 8* concat1(3,8) -> 11* concat1(3,10) -> 11* concat1(4,1) -> 8* concat1(4,3) -> 10* concat1(4,11) -> 11* concat1(1,1) -> 8* concat1(1,3) -> 8* concat1(1,11) -> 11* concat1(2,2) -> 8* concat1(2,4) -> 8* concat1(2,8) -> 11* concat1(2,10) -> 11* true1() -> 6* lessleaves1(8,11) -> 6* lessleaves1(10,11) -> 6* lessleaves1(11,8) -> 6* lessleaves1(11,10) -> 6* lessleaves1(11,11) -> 6* false1() -> 6* concat0(3,1) -> 5* concat0(3,3) -> 5* concat0(4,2) -> 5* concat0(4,4) -> 5* concat0(1,2) -> 5* concat0(1,4) -> 5* concat0(2,1) -> 5* concat0(2,3) -> 5* concat0(3,2) -> 5* concat0(3,4) -> 5* concat0(4,1) -> 5* concat0(4,3) -> 5* concat0(1,1) -> 5* concat0(1,3) -> 5* concat0(2,2) -> 5* concat0(2,4) -> 5* cons0(3,1) -> 1* cons0(3,3) -> 1* cons0(4,2) -> 1* cons0(4,4) -> 1* cons0(1,2) -> 1* cons0(1,4) -> 1* cons0(2,1) -> 1* cons0(2,3) -> 1* cons0(3,2) -> 1* cons0(3,4) -> 1* cons0(4,1) -> 1* cons0(4,3) -> 1* cons0(1,1) -> 1* cons0(1,3) -> 1* cons0(2,2) -> 1* cons0(2,4) -> 1* lessleaves0(3,1) -> 6* lessleaves0(3,3) -> 6* lessleaves0(4,2) -> 6* lessleaves0(4,4) -> 6* lessleaves0(5,5) -> 6* lessleaves0(1,2) -> 6* lessleaves0(1,4) -> 6* lessleaves0(2,1) -> 6* lessleaves0(2,3) -> 6* lessleaves0(3,2) -> 6* lessleaves0(3,4) -> 6* lessleaves0(4,1) -> 6* lessleaves0(4,3) -> 6* lessleaves0(1,1) -> 6* lessleaves0(1,3) -> 6* lessleaves0(2,2) -> 6* lessleaves0(2,4) -> 6* leaf0() -> 2* false0() -> 6,3 true0() -> 6,4 1 -> 5,8 2 -> 5,8 3 -> 10,5 4 -> 5,8 8 -> 11* 10 -> 11* problem: strict: weak: concat(cons(U,V),Y) -> cons(U,concat(V,Y)) lessleaves(cons(U,V),cons(W,Z)) -> lessleaves(concat(U,V),concat(W,Z)) concat(leaf(),Y) -> Y lessleaves(X,leaf()) -> false() lessleaves(leaf(),cons(W,Z)) -> true() Qed